﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MapMark : MonoBehaviour {
    // 设置一个数组存放标记，通过预制体来进行实例化
    public GameObject[] Marks;
    // 设置标记默认值
    private int index = 0;

    void Update()
    {
        // 当鼠标左键点击的时候
        if (Input.GetMouseButtonDown(0))
        {
            // 运行生成标记函数
            InitMark();
        }
    }
    /// <summary>
    /// 生成标记
    /// </summary>
    private void InitMark()
    {
        // 声明一个射线，记录鼠标从主相机点击屏幕的位置
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        // 声明一个RaycastHit结构体，存储碰撞信息
        RaycastHit hit;
        // 如果点击到碰撞体，且tag是Ground的话
        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider.tag == "Ground")
            {
                // 根据标记变量的值，选择数组中的标记，在鼠标点击位置实例化一个标记
                GameObject _mark = Instantiate(Marks[index], hit.point, Quaternion.identity);
                // 在 1 秒后自动销毁
                Destroy(_mark, 1.0f);
            }
        }

    }
    /// <summary>
    /// 根据按钮传的值来决定生成哪个图标
    /// </summary>
    /// <param name="i">标记下标</param>
    public void btnChoose(int i)
    {
        // 将图标下标赋值给标记变量
        index = i;
    }

}
